/**  
 * @Title:  DynamicDataSourceEntry.java   
 * @Package Order   
 * @Description:    TODO   
 * @author: hezhiqin     
 * @date:   2019年4月1日 下午3:55:42   
 */  
package Order;

/**   
 * @ClassName:  DynamicDataSourceEntry   
 * @Description:TODO(动态切换数据源)   
 * @author: hezhiqin
 * @date:   2019年4月1日 下午3:55:42   
 *      
 */
public class DynamicDataSourceEntry {
	
	// 默认数据源
	public final static String DEFAULT_SOURCE = null;
	
	private final static ThreadLocal<String> local = new ThreadLocal<String>();

	/**   
	 * @Title:  DynamicDataSourceEntry   
	 * @Description:    TODO(这里用一句话描述这个方法的作用)   
	 * @param:   
	 * @author: hezhiqin
	 * @throws   
	 */
	private DynamicDataSourceEntry() {
		
	}
	
	/**   
	 * @Title: clear   
	 * @Description: TODO(清空数据源)   
	 * @param:       
	 * @return: void      
	 * @throws 
	 * @author: hezhiqin
	 * @date: 2019年4月1日 下午3:57:06  
	 */
	public static void clear() {
		local.remove();
	}
	
	
	/**   
	 * @Title: get   
	 * @Description: TODO(获取当前正在使用的数据源名字)   
	 * @param: @return      
	 * @return: String      
	 * @throws 
	 * @author: hezhiqin
	 * @date: 2019年4月1日 下午3:58:20  
	 */
	private static String get() {
		
		return local.get();
		
	}
	
	
	/**   
	 * @Title: restore   
	 * @Description: TODO(还原当前切面的数据源)   
	 * @param:       
	 * @return: void      
	 * @throws 
	 * @author: hezhiqin
	 * @date: 2019年4月1日 下午3:58:47  
	 */
	public static void restore() {
		local.set(DEFAULT_SOURCE);
	}
	
	/**   
	 * @Title: set   
	 * @Description: TODO(设置已知名字的数据源)   
	 * @param: @param source      
	 * @return: void      
	 * @throws 
	 * @author: hezhiqin
	 * @date: 2019年4月1日 下午4:02:33  
	 */
	public static void set(String source) {
		local.set(source);
	}
	
	
	
	/**   
	 * @Title: set   
	 * @Description: TODO(根据年份动态设置数据源)   
	 * @param: @param year      
	 * @return: void      
	 * @throws 
	 * @author: hezhiqin
	 * @date: 2019年4月1日 下午4:03:04  
	 */
	public static void set(int year) {
		local.set("DB_" + year);
	}

}
